using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson8 : MonoBehaviour
{
    #region  TCP/IP协议中的重要协议

    //应用层协议:
    //HTTP: 超文本传输协议
    //HTTPS: 安全的HTTP协议
    //FTP: 文件传输协议
    //DNS: 域名系统

    //传输层协议
    //TCP协议: 传输控制协议
    //UDP协议: 用户数据报协议
    //网络协议
    //IP协议

    //TCP面向连接
    //UDP无需建立连接
    //TCP无差错 不丢失
    //UDP只会尽力交付 不保证可靠性
    //TCP传输效率较低
    //UDP传输效率高
    //TCP的连接是一对一的
    //UDP的连接是自由灵活的
    #endregion

    #region  TCP协议
    //TCP
    //是面向连接的协议 也就是说 在收发数据前。必须和对方建立可靠的连接
    //并且在消息传送过程中是有顺序的 并且是不会丢包的
    //如果某一条消息在传送过程中失败了 会重新发送消息 直到成功
    //它的特点是
    //1. 面向连接 ： 两者之间必须建立可靠的连接
    //2. 一对一 ： 只能是一对一的连接
    //3.可靠性高 ： 消息传送失败会重新发送不允许丢包
    //4.有序的 ： 是按照顺序进行消息发送的

    //TCP协议中有一个重要概念:3次握手 4次挥手
    //三次握手建立连接
    //第一次握手(C->S)
    //TCP连接请求 告诉服务器建立连接
    //第二次握手(S->C)
    //服务器收到连接请求后，开始建立连接
    //第三次握手(C->S)
    //TCP确认连接 确认连接建立

    //确认建立后 就可以传递数据了

    //四次挥手断开连接
    //第一次挥手(C->S)
    //告诉服务器数据发送完毕 请求服务器消息
    //第二次挥手(S->C)
    //服务器收到消息后，等待断开
    //第三次挥手(S->C)
    //告诉客户端消息发完了 可以正式断开了
    //第四次挥手(C->S)
    //告诉服务器 如果没有响应 就可以断开了  

    //TCP有了这三次握手 四次挥手的规则
    //可以提供可靠的服务 通过TCP连接传送的数据
    //可以做到无差错 不丢失 不重复 且按顺序到达

    //它让客户端与服务端之间的数据传递变得更加的可靠
    #endregion

    #region   UDP协议
    //UDP
    //是一种无需建立连接就可以发送封装的IP数据包的方法
    //提供面向事物的简单不可靠信息传送服务
    //它的特点是
    //1.无连接 两者之间无需建立连接
    //2.可靠性低 消息可能在传送过程中丢失 丢失之后不会重发
    //3.传输效率高 由于它的可靠性低并且也无需建立连接 所以传输效率上更高一些

    //4.n对n TCP只能1对1进行消息传递 而UDP由于无连接所以可以n对n

    //UDP协议 不需要建立连接
    //也不会像TCP协议那样携带更多的信息 所以它具有更好的传输效率
    //它具有资源消耗更小 处理速度快的特点
    #endregion

    #region 总结
    //TCP 
    //更可靠 保证数据的正确性和有序行
    //适合对信息准确性要求高 效率要求较低的使用场景

    //UDP
    //更效率 传输更快 资源消耗更少
    //适合对实时性要求更高的使用场景

    #endregion
}
